package com.ala4.oxcafe.common.utils.id;

import java.util.UUID;

/**
 * ID生成工具类
 *
 * @author PING
 * @version 1.0.0
 * @date 2025/7/31 16:46
 */
public class IdUtil {

    private IdUtil() {
    }

    /**
     * 创建MongoDB ID生成策略实现<br>
     * ObjectId由以下几部分组成：
     *
     * <pre>
     * 1. Time 时间戳。
     * 2. Machine 所在主机的唯一标识符，一般是机器主机名的散列值。
     * 3. PID 进程ID。确保同一机器中不冲突
     * 4. INC 自增计数器。确保同一秒内产生objectId的唯一性。
     * </pre>
     * <p>
     * 参考：http://blog.csdn.net/qxc1281/article/details/54021882
     *
     * @return ObjectId
     */
    public static String objectId() {
        return ObjectId.next();
    }

    public static String fastUUID() {
        return UUID.randomUUID().toString();
    }
}
